// #include <stdio.h>
// #include <stdlib.h>
// #include <string.h>
// #include <assert.h>
//
// //结构体--> 描述结构化数据
// //1. 创建结构体
// /***
//  *struct 标识符号{
//  *  //特征 基本数据类型描述
//  *};
//  *
//  *c语言不能是空结构体 c++允许空的结构体
//  *
//  **/
//
// struct Person
// {
//     char name[20];
//     int age;
//     int num;
//     char addr[20];
// };
//
//
// //2. 访问数据
// //结构体中数据必须要通过结构体变量访问
// //怎么创建结构体变量 类型  标识符 struct  Person p1;
// //结构体变量 变量.成员
// //结构体指针 指针->成员
//
// int main()
// {
//     char name[20]="小方";
//     int age = 18;
//     int num =1001;
//     char addr[20]="火星";
//
//     struct Person p1={"小方",18,1001,"火星"};
//     printf("%s\n",p1.name);
//     printf("%d\n",p1.age);
//     printf("%d\n",p1.num);
//     printf("%s\n",p1.addr);
//
//     struct Person p2;
//     //数组不能直接复制  strcpy
//     strcpy(p1.name,name);
//     printf("%s\n",p1.name);
//
//     (&p2)->age=20;
//     printf("%d\n",p2.age);
//
//
//     //类型* 变量名
//     struct Person* p3=NULL;
//
//     //有问题 NULL 里面没有age
//     //P3->age=123;
//     p3=&p1;
//
//     //-> 指针指向运算符 只有在结构体中才有
//
//
//
//
//     return 0;
// }